package 笔记.设计模式.策略模式;

/**
 * @author chenhailong
 * @ClassName: Test
 * @Description: 策略模式
 * @date 2021/7/1 21:53
 * @Version 1.0
 */
public class Test {

    public static void main(String[] args) {

        /**
         * 策略模式：
         *      主要是处理不同算法的。通过封装算法的方法，提供通用接口可以自由的变换，前提是需要对外暴露这个算法的定义类
         */
        Context context = new Context(new StrategyAdd());
        System.out.println(" :" +context.calculation(1,2));

        Context context2 = new Context(new StrategySubtract());
        System.out.println(" :" +context2.calculation(3,2));

        Context context3 = new Context(new StrategyMultiply());
        System.out.println(" :" +context3.calculation(1,2));




    }
}
